1. Field of the Invention
The present invention relates to managing command line interface commands.
2. Description of Prior Art
Client-server computer storage configurations or networks are well known. The “client” (human user, command line interface (CLI), graphical user interface (GUI), or workstation, etc.) is operatively coupled to hardware/software functionality known as the “server” which services the client by responding to client requests to store information and/or retrieve stored information. Multiple clients can be operatively coupled to multiple servers in a particular client-server network configuration.
Effective management of client-server networks is very important to ensure that the networks operate as intended and serve network users as expected. This management function may be accomplished through distributed management software which can be distributed throughout a client-server network. If a client-server network is running such software that is also object-oriented, typically many objects reside in each of the clients and/or servers. An object, in computer software terms, is a dedicated area of memory which can be thought of as an impervious container holding both data and instructions within itself, both defining itself and its relationships to other objects in the computer system or network. An object can send and receive messages to and from other objects, respond and react to such messages (e.g. commands) but shall normally be impervious to internal scrutiny. For example, in a storage processor each object may describe or relate to a specific tangible detail in the processor (e.g. a fan, power switch, cache memory, power supply, disk drive interface, etc.). These tangible objects in the storage processor can send messages to each other and to other objects outside the processor such as a disk array.
In management software running within its client-server environment, there may be a group of service providers termed “providers”, which are delegated specific managerial tasks to perform within the distributed management software of the client-server system, i.e. they are delegated specific services to “provide”. In a CLARiiON® storage system marketed by EMC Corporation, such providers may include: directory provider, persistence (file replication) provider, security provider, snapshot copying (backups and data modeling) provider, mirroring (permanent backup storage) provider, clone (local replication) provider, logical volume (“LUN”) provider (creates or destroys LUNs), meta LUNs (virtualization) provider, etc. Each provider is concerned only with performing its own prescribed task. These providers are, of course, software entities, but they may be modular in design. They can, therefore, be modularly “plugged” into a software framework allowing easily-made additions to, or reductions of, the overall functionality of the storage system's management software. These providers act upon objects and although each provider is concerned with performing only its own task, it may act upon one or more objects that are also being acted upon by other providers.
In computing, the command line interface or CLI is a method of interacting with a computer such as a storage system via a text terminal such as terminal software running on a client computer. Commands are entered as lines of text (that is, sequences of typed characters) from a keyboard, and output is also received as text.
In at least some cases, CLIs provide an environment with enhanced productivity. They are often used by system administrators. In its simplest form, a CLI displays a prompt, the user types a command on the keyboard and terminates the command (usually with the Enter key), and the computer executes the command, providing textual output.
The Windows operating system commercially available from Microsoft Corp. of Redmond, Wash. stores information used by the Windows operating system and other programs running under the Windows operating system in a Windows registry. The Windows registry contains values used to control the operation of the Windows operating system and other programs running under the Windows operating system. In addition to these values, the Windows registry also contains keys which identify each of the values. The Windows operating system and many computer programs running under the Windows operating system insert keys and values into the Windows registry so that the operating system and programs can operate properly.